import { View, Text, Button } from '@tarojs/components';
import React, { Component } from "react";
import Taro from '@tarojs/taro'
import PropTypes from 'prop-types';
import PdfViewer from '@/components/common/pds_pdf';
import { Checkbox, Toast, } from '@antmjs/vantui';
import './index.scss'
import { submitCligibleCommitment } from '@/services/api/eligible_investors';



// const Toast_ = Toast.createOnlyToast()


class Commitment extends Component {



  static propTypes = {
    name: PropTypes.string,
  }

  static defaultProps = {
    name: "",
  }

  state = {
    selected: false,
  }

  constructor(props) {
    super(props);
  }

  // 建议在页面初始化时把 getCurrentInstance() 的结果保存下来供后面使用，
  // 而不是频繁地调用此 API
  $instance = Taro.getCurrentInstance()

  componentWillMount() {
    // 获取传递的 map 对象
    var params = this.$instance.router?.params
    console.log(params);
    if (params != null) {

    }
  }


  checkBoxOnChange(tempSelected) {
    this.setState({ selected: tempSelected });
  }

  /**
   * 确定并签署
   * @returns
   */
  confirmAndSign() {
    const { selected } = this.state;
    if (!selected) {
      Toast.fail('请勾选本人承偌为合格投资者')
      return
    }
    submitCligibleCommitment().then(resp => {
      if (resp.code === 200) {
        Taro.navigateBack()
      }
    })
  }

  render() {
    const { safeArea } = Taro.getSystemInfoSync();
    const { selected } = this.state;
    var params = this.$instance.router?.params
    var investConfirmAttachment, file_id;
    if (params != null) {
      investConfirmAttachment = params['investConfirmAttachment'];
      if (investConfirmAttachment.length > 0) {
        file_id = params['investConfirmAttachment']?.split(':')[0];

      }
    }


    return (
      <View className='body body-page'>
        <View className='placeholder'></View>
        {/* <PdfViewer url={investConfirmAttachment.length > 0 ? `file/download/user/file?file_id=${file_id}` : `file/download/org/file_type?file_type=105`} ></PdfViewer> */}
        <View className='content-box' style={{ height: params['investConfirmAttachment']?.length ? 'calc(100% - 16px)' : 'calc(100% - 118px)' }}>
          <View className='box'>
            <View className='p'>本人/本单位承诺符合《私募投资基金监督管理暂行办法》及其他法律
              法 规、证监会规定的合格投资者标准，具有相应的风险识别能力风险承受能
              力。根据我国《私募投资基金监督管理暂行办法》的规定，私募基金合格投
              资者的标准如下:</View>
            <View className='p'>具备相应风险识别能力和风险承担能力，投资于单只私募
              基金的金额不低于 100 万元且符合下列相关标准的机构和个人：
              <View className='p-item'> 1、净资产不低于 1000 万元的机构；</View>
              <View className='p-item'> 2、个人金融资产不低于 300 万元或者最近三年个人年均收入不低于 50 万
                元。</View>
              前款所称金融资产包括银行存款、股票、债券、基金份额、资产管理计
              划、 银行理财产品、信托计划、保险产品、期货权益等。 本人/本单位承诺
              向基金管 理人提供的有关投资目的、投资偏好、投资限制 和风险承受能力等
              情况真实合法、完整有效，不存在任何重大遗漏或误导性陈述， 前述信息资
              料如发生任何实质性变更，本人/本单位应当及时书面告知基金管理人或销售机构。
            </View>
            <View className='p'>本人/本单位承诺用于认购/申购基金份额的财产为投资者拥有合法所
              有权 或处分权的资产，保证该等财产的来源及用途符合法律法规和相关政策
              规定，不 存在非法汇集他人资金投资的情形，不存在不合理的利益输送、关
              联交易及洗钱 等情况，本人/本单位保证有完全及合法的权利委托基金管理人
              和基金托管人进 行基金财产的投资管理和托管业务。</View>
            <View className='p'>本人/本单位承诺，基金管理人有权要求本人/本单位提供资产来源及
              用 途合法性证明，对资产来源及用途及合法性进行调查，本人/本单位愿意配
              合。</View>
            <View className='p'>本人/本单位承诺，本人/本单位在参与贵公司发起设立的私募基金的
              投 资过程中，如果因存在欺诈、隐瞒或其他不符合实际情况的陈述所产生的
              一切责 任，由本人/本单位自行承担，与贵司无关。</View>
            {
              params['investConfirmAttachment'].length ? null : <View className='p-bottom'></View>
            }

          </View>

        </View>


        {
          params && params['investConfirmAttachment'].length
            ? null
            :
            <View className='bottom' style={{ paddingBottom: safeArea.top + 16 }}>
              <View className='bottom-top'>
                <Checkbox value={selected} iconSize='16px' checkedColor='#3C6BFF' onChange={(e => this.checkBoxOnChange(e.detail))}></Checkbox>
                <Text>本人承诺为合格投资者</Text>

              </View>
              <Button onClick={this.confirmAndSign.bind(this)}>确认并签署</Button>
            </View>
        }
        <Toast />
      </View>

    );
  }
}

export default Commitment;
